home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 November: Tool Chest / Dev.CD Nov 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / IDL / LinkB.idl < prev    next >
Encoding:
Text File  |  1994-04-19  |  2.3 KB  |  101 lines  |  [TEXT/MPS ]

  1. //# Copyright:    © 1993-94 by Apple Computer, Inc., all rights reserved.
  2. #ifndef _LINKB_
  3. #define _LINKB_
  4.  
  5. #ifndef _PSTOBJ_
  6. #include "PstObj.idl"
  7. #endif
  8.  
  9. //==============================================================================
  10. // Theory of Operation
  11. //==============================================================================
  12.  
  13. /*
  14.   This class is used to represent the destination side of OpenDoc links.
  15.   ODDrafts create and own these links. The source ODPart will ask the draft
  16.   to create an ODLinkSource and an ODLink pair, and return the ODLink
  17.   object to the the destination part.  The destination part uses the ODLink
  18.   object to extract the contents of the link.
  19. */
  20.  
  21. //==============================================================================
  22. // Classes defined in this interface
  23. //==============================================================================
  24.  
  25. interface  ODBaseLink;
  26.  
  27. //==============================================================================
  28. // Classes used by this interface
  29. //==============================================================================
  30.  
  31. interface    ODStorageUnit;
  32. interface    ODPart;
  33. interface    ODPartList;
  34. interface    ODLinkSource;
  35. interface    ODDraft;
  36.  
  37. //==============================================================================
  38. // ODLink
  39. //==============================================================================
  40.  
  41. interface ODBaseLink :  ODPersistentObject
  42. {
  43.  
  44.     
  45.     ODBoolean Lock(in ODULong wait,
  46.                     in ODLinkKey key);
  47.                     
  48.     void Unlock(in ODLinkKey key);
  49.     
  50.     ODStorageUnit  GetContentStorageUnit(in ODLinkKey key);
  51.     
  52.     void RegisterDependent(in ODPart clientPart,
  53.                             in ODChangeID id);
  54.                             
  55.     void UnregisterDependent(in ODPart clientPart);
  56.     
  57.     ODChangeID GetChangeID();
  58.     
  59.     ODTime GetChangeTime();
  60.     
  61.     ODError GetStatus();
  62.     
  63.     void ShowSourceContent();
  64.     
  65.     void UpdateDependents(in ODChangeID id);
  66.     
  67.     ODStorageUnit CloneTo(in ODDraftKey draftKey, 
  68.                             in ODDraft destDraft);
  69.  
  70.  
  71. #ifdef __SOMIDL__
  72.     implementation
  73.     {
  74.         override:
  75.             somInit,
  76.             somUninit;
  77.  
  78.         releaseorder:
  79.             Lock,
  80.             Unlock,
  81.             GetContentStorageUnit,
  82.             RegisterDependent,
  83.             UnregisterDependent,
  84.             GetChangeID,
  85.             GetChangeTime,
  86.             GetStatus,
  87.             ShowSourceContent,
  88.             UpdateDependents,
  89.             CloneTo,
  90.             reserved1,
  91.             reserved2;
  92.  
  93.         majorversion = 1; minorversion = 0;
  94.  
  95.     };
  96.     
  97. #endif //# __SOMIDL__
  98. };
  99.  
  100. #endif //# _LINKB_
  101.